<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content=
    "application/xhtml+xml; charset=iso-8859-1" />
    <title>
      GnuPG-2.2.19
    </title>
    <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
    "text/css" media="print" />
  </head>
  <body class="blfs" id="blfs-9.1">
    <div class="navheader">
      <h4>
        Beyond Linux<sup>�</sup> From Scratch <span class="phrase">(System
        V</span> Edition) - Version 9.1
      </h4>
      <h3>
        Chapter&nbsp;4.&nbsp;Security
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="cyrus-sasl.html" title=
          "Cyrus SASL-2.1.27">Prev</a>
          <p>
            Cyrus SASL-2.1.27
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="gnutls.html" title="GnuTLS-3.6.12">Next</a>
          <p>
            GnuTLS-3.6.12
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="security.html" title=
          "Chapter&nbsp;4.&nbsp;Security">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 9.1">Home</a>
        </li>
      </ul>
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <h1 class="sect1">
        <a id="gnupg2" name="gnupg2"></a>GnuPG-2.2.19
      </h1>
      <div class="package" lang="en" xml:lang="en">
        <h2 class="sect2">
          Introduction to GnuPG
        </h2>
        <p>
          The <span class="application">GnuPG</span> package is GNU's tool
          for secure communication and data storage. It can be used to
          encrypt data and to create digital signatures. It includes an
          advanced key management facility and is compliant with the proposed
          OpenPGP Internet standard as described in RFC2440 and the S/MIME
          standard as described by several RFCs. GnuPG 2 is the stable
          version of GnuPG integrating support for OpenPGP and S/MIME.
        </p>
        <p>
          This package is known to build and work properly using an LFS-9.1
          platform.
        </p>
        <h3>
          Package Information
        </h3>
        <div class="itemizedlist">
          <ul class="compact">
            <li class="listitem">
              <p>
                Download (HTTP): <a class="ulink" href=
                "https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.19.tar.bz2">
                https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.19.tar.bz2</a>
              </p>
            </li>
            <li class="listitem">
              <p>
                Download (FTP): <a class="ulink" href=
                "ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.2.19.tar.bz2">ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.2.19.tar.bz2</a>
              </p>
            </li>
            <li class="listitem">
              <p>
                Download MD5 sum: cb3b373d08ba078c325299945a7f2818
              </p>
            </li>
            <li class="listitem">
              <p>
                Download size: 6.4 MB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated disk space required: 117 MB (with all tests; add 24
                MB for docs)
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated build time: 0.4 SBU (using parallelism=4; add 0.6
                SBU for tests)
              </p>
            </li>
          </ul>
        </div>
        <h3>
          GnuPG 2 Dependencies
        </h3>
        <h4>
          Required
        </h4>
        <p class="required">
          <a class="xref" href="../general/libassuan.html" title=
          "libassuan-2.5.3">Libassuan-2.5.3</a>, <a class="xref" href=
          "../general/libgcrypt.html" title=
          "libgcrypt-1.8.5">libgcrypt-1.8.5</a>, <a class="xref" href=
          "../general/libksba.html" title="libksba-1.3.5">Libksba-1.3.5</a>,
          and <a class="xref" href="../general/npth.html" title=
          "npth-1.6">npth-1.6</a>
        </p>
        <h4>
          Recommended
        </h4>
        <p class="recommended">
          <a class="xref" href="../general/pinentry.html" title=
          "pinentry-1.1.0">pinentry-1.1.0</a> (Run-time requirement for most
          of the package's functionality)
        </p>
        <h4>
          Optional
        </h4>
        <p class="optional">
          <a class="xref" href="../basicnet/curl.html" title=
          "cURL-7.68.0">cURL-7.68.0</a>, <a class="xref" href="fuse.html"
          title="Fuse-3.9.0">Fuse-3.9.0</a>, <a class="xref" href=
          "gnutls.html" title="GnuTLS-3.6.12">GnuTLS-3.6.12</a>, <a class=
          "xref" href="../general/imagemagick.html" title=
          "ImageMagick-7.0.9-23">ImageMagick-7.0.9-23</a> (for the
          <span class="command"><strong>convert</strong></span> utility, used
          for generating the documentation), <a class="xref" href=
          "../general/libusb.html" title="libusb-1.0.23">libusb-1.0.23</a>,
          an <a class="xref" href="../server/mail.html" title=
          "Chapter&nbsp;21.&nbsp;Mail Server Software">MTA</a>, <a class=
          "xref" href="../server/openldap.html" title=
          "OpenLDAP-2.4.49">OpenLDAP-2.4.49</a>, <a class="xref" href=
          "../server/sqlite.html" title="SQLite-3.31.1">SQLite-3.31.1</a>,
          <a class="xref" href="../pst/texlive.html" title=
          "texlive-20190410-source">texlive-20190410</a> (or <a class="xref"
          href="../pst/tl-installer.html" title=
          "install-tl-unx">install-tl-unx</a>), <a class="ulink" href=
          "http://mcj.sourceforge.net/">fig2dev</a> (for generating
          documentation), and <a class="ulink" href=
          "http://www.chiark.greenend.org.uk/~ian/adns/">GNU adns</a>
        </p>
        <p class="usernotes">
          User Notes: <a class="ulink" href=
          "http://wiki.linuxfromscratch.org/blfs/wiki/gnupg2">http://wiki.linuxfromscratch.org/blfs/wiki/gnupg2</a>
        </p>
      </div>
      <div class="installation" lang="en" xml:lang="en">
        <h2 class="sect2">
          Installation of GnuPG
        </h2>
        <p>
          By default GnuPG doesn't install the deprecated gpg-zip script, but
          it is still needed by some programs. Make GnuPG install it with:
        </p>
        <pre class="userinput">
<kbd class=
"command">sed -e '/noinst_SCRIPTS = gpg-zip/c sbin_SCRIPTS += gpg-zip' \
    -i tools/Makefile.in</kbd>
</pre>
        <p>
          Install <span class="application">GnuPG</span> by running the
          following commands:
        </p>
        <pre class="userinput">
<kbd class="command">./configure --prefix=/usr            \
            --enable-symcryptrun     \
            --localstatedir=/var     \
            --docdir=/usr/share/doc/gnupg-2.2.19 &amp;&amp;
make &amp;&amp;

makeinfo --html --no-split -o doc/gnupg_nochunks.html doc/gnupg.texi &amp;&amp;
makeinfo --plaintext       -o doc/gnupg.txt           doc/gnupg.texi &amp;&amp;
make -C doc html</kbd>
</pre>
        <p>
          If you have <a class="xref" href="../pst/texlive.html" title=
          "texlive-20190410-source">texlive-20190410</a> installed and you
          wish to create documentation in alternate formats, issue the
          following commands (<a class="ulink" href=
          "http://mcj.sourceforge.net/">fig2dev</a> is needed for the ps
          format):
        </p>
        <pre class="userinput">
<kbd class="command">make -C doc pdf ps</kbd>
</pre>
        <p>
          To test the results, issue: <span class="command"><strong>make
          check</strong></span>.
        </p>
        <p>
          Note that if you have already installed <span class=
          "application">GnuPG</span>, the instructions below will overwrite
          <code class="filename">/usr/share/man/man1/gpg-zip.1</code>. Now,
          as the <code class="systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class="command">make install &amp;&amp;

install -v -m755 -d /usr/share/doc/gnupg-2.2.19/html            &amp;&amp;
install -v -m644    doc/gnupg_nochunks.html \
                    /usr/share/doc/gnupg-2.2.19/html/gnupg.html &amp;&amp;
install -v -m644    doc/*.texi doc/gnupg.txt \
                    /usr/share/doc/gnupg-2.2.19 &amp;&amp;
install -v -m644    doc/gnupg.html/* \
                    /usr/share/doc/gnupg-2.2.19/html</kbd>
</pre>
        <p>
          If you created alternate formats of the documentation, install them
          using the following command as the <code class=
          "systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class="command">install -v -m644 doc/gnupg.{pdf,dvi,ps} \
                 /usr/share/doc/gnupg-2.2.19</kbd>
</pre>
      </div>
      <div class="commands" lang="en" xml:lang="en">
        <h2 class="sect2">
          Command Explanations
        </h2>
        <p>
          <span class="command"><strong>sed ...
          tools/Makefile.in</strong></span>: This command is needed to build
          the gpg-zip program.
        </p>
        <p>
          <em class=
          "parameter"><code>--docdir=/usr/share/doc/gnupg-2.2.19</code></em>:
          This switch changes the default docdir to <code class=
          "filename">/usr/share/doc/gnupg-2.2.19</code>.
        </p>
        <p>
          <em class="parameter"><code>--enable-symcryptrun</code></em>: This
          switch enables building the symcryptrun program.
        </p>
        <p>
          <code class="option">--enable-all-tests</code>: allows more tests
          to be run with <span class="command"><strong>make
          check</strong></span>.
        </p>
        <p>
          <code class="option">--enable-g13</code>: This switch enables
          building the g13 program.
        </p>
      </div>
      <div class="content" lang="en" xml:lang="en">
        <h2 class="sect2">
          Contents
        </h2>
        <div class="segmentedlist">
          <div class="seglistitem">
            <div class="seg">
              <strong class="segtitle">Installed Programs:</strong>
              <span class="segbody">addgnupghome, applygnupgdefaults,
              dirmngr, dirmngr-client, g13 (optional), gpg-agent,
              gpg-connect-agent, gpg, gpgconf, gpgparsemail, gpgscm, gpgsm,
              gpgtar, gpgv, gpg-wks-server, gpg-zip, kbxutil, symcryptrun,
              and watchgnupg</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Libraries:</strong>
              <span class="segbody">None</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Directories:</strong>
              <span class="segbody">/usr/share/doc/gnupg-2.2.19 and
              /usr/share/gnupg</span>
            </div>
          </div>
        </div>
        <div class="variablelist">
          <h3>
            Short Descriptions
          </h3>
          <table border="0" class="variablelist">
            <colgroup>
              <col align="left" valign="top" />
              <col />
            </colgroup>
            <tbody>
              <tr>
                <td>
                  <p>
                    <a id="addgnupghome" name="addgnupghome"></a><span class=
                    "term"><span class=
                    "command"><strong>addgnupghome</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is used to create and populate a user's <code class=
                    "filename">~/.gnupg</code> directories
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="applygnupgdefaults" name=
                    "applygnupgdefaults"></a><span class="term"><span class=
                    "command"><strong>applygnupgdefaults</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a wrapper script used to run <span class=
                    "command"><strong>gpgconf</strong></span> with the
                    <em class="parameter"><code>--apply-defaults</code></em>
                    parameter on all user's GnuPG home directories.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="dirmngr" name="dirmngr"></a><span class=
                    "term"><span class=
                    "command"><strong>dirmngr</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a tool that takes care of accessing the OpenPGP
                    keyservers.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="dirmngr-client" name=
                    "dirmngr-client"></a><span class="term"><span class=
                    "command"><strong>dirmngr-client</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a tool to contact a running dirmngr and test whether a
                    certificate has been revoked.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="g13" name="g13"></a><span class=
                    "term"><span class="command"><strong>g13</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a tool to create, mount or unmount an encrypted file
                    system container (optional).
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpg-agent" name="gpg-agent"></a><span class=
                    "term"><span class=
                    "command"><strong>gpg-agent</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a daemon used to manage secret (private) keys
                    independently from any protocol. It is used as a backend
                    for <span class="command"><strong>gpg2</strong></span>
                    and <span class="command"><strong>gpgsm</strong></span>
                    as well as for a couple of other utilities.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpg-connect-agent" name=
                    "gpg-connect-agent"></a><span class="term"><span class=
                    "command"><strong>gpg-connect-agent</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a utility used to communicate with a running
                    <span class="command"><strong>gpg-agent</strong></span>.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpg" name="gpg"></a><span class=
                    "term"><span class="command"><strong>gpg</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is the OpenPGP part of the GNU Privacy Guard (GnuPG). It
                    is a tool used to provide digital encryption and signing
                    services using the OpenPGP standard.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpgconf" name="gpgconf"></a><span class=
                    "term"><span class=
                    "command"><strong>gpgconf</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a utility used to automatically and reasonably safely
                    query and modify configuration files in the <code class=
                    "filename">~/.gnupg</code> home directory. It is designed
                    not to be invoked manually by the user, but automatically
                    by graphical user interfaces.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpgparsemail" name="gpgparsemail"></a><span class=
                    "term"><span class=
                    "command"><strong>gpgparsemail</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a utility currently only useful for debugging. Run it
                    with <em class="parameter"><code>--help</code></em> for
                    usage information.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpgscm" name="gpgscm"></a><span class=
                    "term"><span class=
                    "command"><strong>gpgscm</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    executes the given scheme program or spawns an
                    interactive shell.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpgsm" name="gpgsm"></a><span class=
                    "term"><span class=
                    "command"><strong>gpgsm</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a tool similar to <span class=
                    "command"><strong>gpg2</strong></span> used to provide
                    digital encryption and signing services on X.509
                    certificates and the CMS protocol. It is mainly used as a
                    backend for S/MIME mail processing.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpgtar" name="gpgtar"></a><span class=
                    "term"><span class=
                    "command"><strong>gpgtar</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a tool to encrypt or sign files into an archive.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpgv" name="gpgv"></a><span class=
                    "term"><span class=
                    "command"><strong>gpgv</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a verify only version of <span class=
                    "command"><strong>gpg2</strong></span>.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpg-wks-server" name=
                    "gpg-wks-server"></a><span class="term"><span class=
                    "command"><strong>gpg-wks-server</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    provides a server for the <span class="application">Web
                    Key Service</span> protocol.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="gpg-zip" name="gpg-zip"></a><span class=
                    "term"><span class=
                    "command"><strong>gpg-zip</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    encrypts or signs files into an archive.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="kbxutil" name="kbxutil"></a><span class=
                    "term"><span class=
                    "command"><strong>kbxutil</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is used to list, export and import Keybox data.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="symcryptrun" name="symcryptrun"></a><span class=
                    "term"><span class=
                    "command"><strong>symcryptrun</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is a simple symmetric encryption tool.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="watchgnupg" name="watchgnupg"></a><span class=
                    "term"><span class=
                    "command"><strong>watchgnupg</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is used to listen to a Unix Domain socket created by any
                    of the GnuPG tools.
                  </p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <p class="updated">
        Last updated on 2020-02-16 15:15:05 -0800
      </p>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="cyrus-sasl.html" title=
          "Cyrus SASL-2.1.27">Prev</a>
          <p>
            Cyrus SASL-2.1.27
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="gnutls.html" title="GnuTLS-3.6.12">Next</a>
          <p>
            GnuTLS-3.6.12
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="security.html" title=
          "Chapter&nbsp;4.&nbsp;Security">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 9.1">Home</a>
        </li>
      </ul>
    </div>
  </body>
</html>
